import * as vscode from 'vscode';
import {dedent} from "../../../utils";

// documentation中使用了代码块，代码块中写的事makedown格式，首行不能为空
let slItems = [
    {
        "label": "onLUAEvent",
        "insertText": dedent`
        SL:onLUAEvent(eventID, data)
        `,
        "documentation": dedent`# 派发事件
        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        
        | 说明    |      |        |        |      |
        | :------ | :--- | ------ | ------ | ---- |
        | 参数名  | 必选 | 类型   | 说明   |      |
        | eventID | 是   | string | 事件ID |      |
        | data    | 否   | any    | 数据   |      |

        返回值: 无

        示例代码
        
        SL:onLUAEvent(LUA_EVENT_EXPCHANGE, {value = 100})
        

        `
    },
    {
        "label": "RegisterLUAEvent",
        "insertText": dedent`
        SL:RegisterLUAEvent(eventID, eventTag, eventCB, widget)
        `,
        "documentation": dedent`# 注册游戏事件回调
        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |
        | widget  | 否   | obj | 界面对象 |      |

        返回值: 无

        示例代码
        
        local function onRefAttr()
            SL:Print("属性刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_EXPCHANGE, "属性刷新", onRefAttr)
        

        `
    },
    {
        "label": "UnRegisterLUAEvent",
        "insertText": dedent`
        SL:UnRegisterLUAEvent(eventID, eventTag)
        `,
        "documentation": dedent`# 注销游戏事件回调
        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |

        返回值: 无

        示例代码
        
         SL:UnRegisterLUAEvent(LUA_EVENT_EXPCHANGE, "属性刷新")
        

        `
    },

    {
        "label": "LUA_EVENT_ROLE_PROPERTY_INITED",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ROLE_PROPERTY_INITED", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 玩家角色属性初始化完毕

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onRefAttr()
            SL:Print("属性刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_ROLE_PROPERTY_INITED, "属性刷新", onRefAttr)

        `
    },
    {
        "label": "LUA_EVENT_ROLE_PROPERTY_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ROLE_PROPERTY_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 玩家属性变化时

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPropChange()
            SL:Print("属性变化...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_ROLE_PROPERTY_CHANGE, "属性变化", onPropChange)

        `
    },
    {
        "label": "LUA_EVENT_LEVELCHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_LEVELCHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 等级改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {currlevel = 当前等级, lastlevel = 上次等级}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onLevelChange(data)
            SL:Print("等级变化: "..data.currlevel)
        end
        SL:RegisterLUAEvent(LUA_EVENT_LEVELCHANGE, "等级变化", onLevelChange)

        `
    },
    {
        "label": "LUA_EVENT_REINLEVELCHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_REINLEVELCHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 转生等级改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {currReinLevel = 当前转生等级, lastReinLevel = 上次转生等级}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onReinLevelChange(data)
            SL:Print("转生等级变化: "..data.currReinLevel)
        end
        SL:RegisterLUAEvent(LUA_EVENT_REINLEVELCHANGE, "转生等级变化", onReinLevelChange)

        `
    },
    {
        "label": "LUA_EVENT_HPMPCHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HPMPCHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# HP/MP改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {curHP = curHP, maxHP = maxHP, curMP = curMP, maxMP = maxMP}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHPMPChange(data)
            SL:Print("HP变化: "..data.curHP.."/"..data.maxHP)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HPMPCHANGE, "HP/MP变化", onHPMPChange)

        `
    },
    {
        "label": "LUA_EVENT_EXPCHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_EXPCHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# EXP改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {currexp = 当前经验值, changed = 改变值}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onExpChange(data)
            SL:Print("经验变化: "..data.currexp.." 改变值: "..data.changed)
        end
        SL:RegisterLUAEvent(LUA_EVENT_EXPCHANGE, "经验变化", onExpChange)

        `
    },
    {
        "label": "LUA_EVENT_BATTERYCHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_BATTERYCHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 电池电量改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        int — 电池容量百分比值

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onBatteryChange(data)
            SL:Print("电池电量变化: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_BATTERYCHANGE, "电池电量变化", onBatteryChange)

        `
    },
    {
        "label": "LUA_EVENT_NETCHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NETCHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 网络状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        int — 网络类型 -1: 未知 0: wifi 1: 蜂窝

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNetChange(data)
            SL:Print("网络状态变化: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NETCHANGE, "网络状态变化", onNetChange)

        `
    },
    {
        "label": "LUA_EVENT_WEIGHTCHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_WEIGHTCHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 负重改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {weight = 当前负重, wearWeight = 穿戴负重, handWeight = 腕力}

        说明
        
        | 参数

名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onWeightChange(data)
            SL:Print("负重变化: "..data.weight)
        end
        SL:RegisterLUAEvent(LUA_EVENT_WEIGHTCHANGE, "负重变化", onWeightChange)

        `
    },
    {
        "label": "LUA_EVENT_PKMODECHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PKMODECHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# pk模式改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        int — 当前PK模式

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPKModeChange(data)
            SL:Print("PK模式改变: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PKMODECHANGE, "PK模式改变", onPKModeChange)

        `
    },
    {
        "label": "LUA_EVENT_AFKBEGIN",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_AFKBEGIN", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 自动挂机开始

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAfkBegin()
            SL:Print("自动挂机开始...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_AFKBEGIN, "自动挂机开始", onAfkBegin)

        `
    },
    {
        "label": "LUA_EVENT_AFKEND",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_AFKEND", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 自动挂机结束

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAfkEnd()
            SL:Print("自动挂机结束...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_AFKEND, "自动挂机结束", onAfkEnd)

        `
    },
    {
        "label": "LUA_EVENT_AUTOMOVEBEGIN",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_AUTOMOVEBEGIN", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 自动寻路开始

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {mapID = 目标地图ID, x = 目标坐标X, y = 目标坐标Y}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAutoMoveBegin(data)
            SL:Print("自动寻路开始: "..data.mapID.." ("..data.x..","..data.y..")")
        end
        SL:RegisterLUAEvent(LUA_EVENT_AUTOMOVEBEGIN, "自动寻路开始", onAutoMoveBegin)

        `
    },
    {
        "label": "LUA_EVENT_AUTOMOVEEND",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_AUTOMOVEEND", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 自动寻路结束

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAutoMoveEnd()
            SL:Print("自动寻路结束...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_AUTOMOVEEND, "自动寻路结束", onAutoMoveEnd)

        `
    },
    {
        "label": "LUA_EVENT_AUTOPICKBEGIN",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_AUTOPICKBEGIN", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 自动捡物开始

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAutoPickBegin()
            SL:Print("自动捡物开始...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_AUTOPICKBEGIN, "自动捡物开始", onAutoPickBegin)

        `
    },
    {
        "label": "LUA_EVENT_AUTOPICKEND",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_AUTOPICKEND", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 自动捡物结束

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAutoPickEnd()
            SL:Print("自动捡物结束...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_AUTOPICKEND, "自动捡物结束", onAutoPickEnd)

        `
    },
    {
        "label": "LUA_EVENT_MAINBUFFUPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MAINBUFFUPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主玩家buff刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {actorID = 玩家id, buffID = buffID, type = 类型(0: 删除 1: 新增 2: 刷新)}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMainBuffUpdate(data)
            SL:Print("主玩家buff刷新: "..data.buffID.." 类型: "..data.type)
        end
        SL:RegisterLUAEvent(LUA_EVENT_MAINBUFFUPDATE, "主玩家buff刷新", onMainBuffUpdate)

        `
    },
    {
        "label": "LUA_EVENT_BUFFUPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_BUFFUPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 通用buff刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {actorID = 玩家id, buffID = buffID, type = 类型(0: 删除 1: 新增 2: 刷新)}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onBuffUpdate(data)
            SL:Print("通用buff刷新: "..data.buffID.." 类型: "..data.type)
        end
        SL:RegisterLUAEvent(LUA_EVENT_BUFFUPDATE, "通用buff刷新", onBuffUpdate)

        `
    },
    {
        "label": "LUA_EVENT_TALKTONPC",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TALKTONPC", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 与NPC对话

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {UserID = npcID, index = NPC配置ID, name = NPC名称}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTalkToNPC(data)
            SL:Print("与NPC对话: "..data.name)
        end
        SL:RegisterLUAEvent(LUA_EVENT_TALKTONPC, "与NPC对话", onTalkToNPC)

        `
    },
    {
        "label": "LUA_EVENT_CHANGESCENE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_CHANGESCENE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 切换地图(包含同地图)

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {mapID = mapID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onChangeScene(data)
            SL:Print("切换地图: "..data.mapID)
        end
        SL:RegisterLUAEvent(LUA_EVENT_CHANGESCENE, "切换地图", onChangeScene)

        `
    },
    {
        "label": "LUA_EVENT_MAPINFOCHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MAPINFOCHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 切换地图(不同地图)

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {mapID = mapID, lastMapID = lastMapID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMapInfoChange(data)
            SL:Print("切换地图: "..data.mapID.." (之前地图: "..data.lastMapID..")")
        end
        SL:RegisterLUAEvent(LUA_EVENT_MAPINFOCHANGE, "切换地图", onMapInfoChange)

        `
    },
    {
        "label": "LUA_EVENT_MAPINFOINIT",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MAPINFOINIT", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 地图初始化

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {mapID = mapID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMapInfoInit(data)
            SL:Print("地图初始化: "..data.mapID)
        end
        SL:RegisterLUAEvent(LUA_EVENT_MAPINFOINIT, "地图初始化", onMapInfoInit)

        `
    },
    {
        "label": "LUA_EVENT_MAP_STATE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MAP_STATE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 地图状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        boolen — 是否在安全区域

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMapStateChange(data)
            SL:Print("地图状态改变: "..tostring(data))
        end
        SL:RegisterLUAEvent(LUA_EVENT_MAP_STATE_CHANGE, "地图状态改变", onMapStateChange)

        `
    },
    {
        "label": "LUA_EVENT_MAP_SIEGEAREA_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MAP_SIEGEAREA_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 地图攻城区域状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        boolean — 是否进入攻城区域

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSiegeAreaChange(data)
            SL:Print("攻城区域状态改变: "..tostring(data))
        end
        SL:RegisterLUAEvent(LUA_EVENT_MAP_SIEGEAREA_CHANGE, "攻城区域状态改变", onSiegeAreaChange)

        `
    },
    {
        "label": "LUA_EVENT_CLOSEWIN",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_CLOSEWIN", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 关闭界面

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        string — GUI界面ID

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onCloseWin(data)
            SL:Print("关闭界面: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_CLOSEWIN, "关闭界面", onCloseWin)

        `
    },
    {
        "label": "LUA_EVENT_WINDOW_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_WINDOW_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 窗体尺寸改变



        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onWindowChange()
            SL:Print("窗体尺寸改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_WINDOW_CHANGE, "窗体尺寸改变", onWindowChange)

        `
    },
    {
        "label": "LUA_EVENT_DEVICE_ROTATION_CHANGED",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_DEVICE_ROTATION_CHANGED", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 设备方向改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onDeviceRotationChanged()
            SL:Print("设备方向改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_DEVICE_ROTATION_CHANGED, "设备方向改变", onDeviceRotationChanged)

        `
    },
    {
        "label": "LUA_EVENT_MONEYCHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MONEYCHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 货币变化

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 货币ID, count = 货币值}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMoneyChange(data)
            SL:Print("货币变化: "..data.id.." 数量: "..data.count)
        end
        SL:RegisterLUAEvent(LUA_EVENT_MONEYCHANGE, "货币变化", onMoneyChange)

        `
    },
    {
        "label": "LUA_EVENT_GUILD_MAIN_INFO",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_GUILD_MAIN_INFO", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 行会信息刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onGuildMainInfo()
            SL:Print("行会信息刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_GUILD_MAIN_INFO, "行会信息刷新", onGuildMainInfo)

        `
    },
    {
        "label": "LUA_EVENT_GUILD_CREATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_GUILD_CREATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 行会创建消耗

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onGuildCreate()
            SL:Print("行会创建消耗...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_GUILD_CREATE, "行会创建消耗", onGuildCreate)

        `
    },
    {
        "label": "LUA_EVENT_GUILD_WORLDLIST",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_GUILD_WORLDLIST", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 世界行会列表刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onGuildWorldList()
            SL:Print("世界行会列表刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_GUILD_WORLDLIST, "世界行会列表刷新", onGuildWorldList)

        `
    },
    {
        "label": "LUA_EVENT_GUILD_APPLYLIST",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_GUILD_APPLYLIST", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 入会申请列表刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onGuildApplyList()
            SL:Print("入会申请列表刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_GUILD_APPLYLIST, "入会申请列表刷新", onGuildApplyList)

        `
    },
    {
        "label": "LUA_EVENT_GUILDE_ALLY_APPLY_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_GUILDE_ALLY_APPLY_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 结盟申请列表刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onGuildAllyApplyUpdate()
            SL:Print("结盟申请列表刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_GUILDE_ALLY_APPLY_UPDATE, "结盟申请列表刷新", onGuildAllyApplyUpdate)

        `
    },
    {
        "label": "LUA_EVENT_TRADE_MONEY_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TRADE_MONEY_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 对方交易货币改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {count = 货币数量}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTradeMoneyChange(data)
            SL:Print("对方交易货币改变: "..data.count)
        end
        SL:RegisterLUAEvent(LUA_EVENT_TRADE_MONEY_CHANGE, "对方交易货币改变", onTradeMoneyChange)

        `
    },
    {
        "label": "LUA_EVENT_TRADE_MY_MONEY_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TRADE_MY_MONEY_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 自己交易货币改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {count = 货币数量}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMyTradeMoneyChange(data)
            SL:Print("自己交易货币改变: "..data.count)
        end
        SL:RegisterLUAEvent(LUA_EVENT_TRADE_MY_MONEY_CHANGE, "自己交易货币改变", onMyTradeMoneyChange)

        `
    },
    {
        "label": "LUA_EVENT_TRADE_STATUS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TRADE_STATUS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 对方交易状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTradeStatusChange()
            SL:Print("对方交易状态改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_TRADE_STATUS_CHANGE, "对方交易状态改变", onTradeStatusChange)

        `
    },
    {
        "label": "LUA_EVENT_TRADE_MY_STATUS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TRADE_MY_STATUS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 自己交易状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMyTradeStatusChange()
            SL:Print("自己交易状态改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_TRADE_MY_STATUS_CHANGE, "自己交易状态改变", onMyTradeStatusChange)

        `
    },
    {
        "label": "LUA_EVENT_ADDFIREND",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ADDFIREND", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 添加好友

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        string — 好友名

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAddFriend(data)
            SL:Print("添加好友: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_ADDFIREND, "添加好友", onAddFriend)

        `
    },
    {
        "label": "LUA_EVENT_REMFIREND",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_REMFIREND", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 删除好友

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        string — 好友名

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onRemoveFriend(data)
            SL:Print("删除好友: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_REMFIREND, "删除好友", onRemoveFriend)

        `
    },
    {
        "label": "LUA_EVENT_JOINTEAM",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_JOINTEAM", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 加入队伍

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        string — 成员名

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onJoinTeam(data)
            SL:Print("加入队伍: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_JOINTEAM, "加入队伍", onJoinTeam)

        `
    },
    {
        "label": "LUA_EVENT_LEAVETEAM",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_LEAVETEAM", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 离开队伍

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        string — 成员名

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onLeaveTeam(data)
            SL:Print("离开队伍: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_LEAVETEAM, "离开队伍", onLeaveTeam)

        `
    },
    {
        "label": "LUA_EVENT_REF_ITEM_LIST",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_REF_ITEM_LIST", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 刷新背包道具列表

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onRefItemList()
            SL:Print("刷新背包道具列表...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_REF_ITEM_LIST, "刷新背包道具列表", onRefItemList)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_EQUIP_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_EQUIP_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 角色装备数据操作

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {MakeIndex = 唯一ID, Where = 装备位置, opera = 操作类型 ( 0:初始化 1:增加 2:删除 3:改变), ItemData = 装备数据}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
       

 | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerEquipChange(data)
            SL:Print("角色装备数据操作: "..data.MakeIndex)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_EQUIP_CHANGE, "角色装备数据操作", onPlayerEquipChange)

        `
    },
    {
        "label": "LUA_EVENT_BAG_ITEM_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_BAG_ITEM_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 背包数据变化

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {opera = 操作类型 ( 0:初始化 1:增加 2:删除 3:改变), operID = 物品数据(table)}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onBagItemChange(data)
            SL:Print("背包数据变化: "..data.opera)
        end
        SL:RegisterLUAEvent(LUA_EVENT_BAG_ITEM_CHANGE, "背包数据变化", onBagItemChange)

        `
    },
    {
        "label": "LUA_EVENT_REF_HERO_ITEM_LIST",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_REF_HERO_ITEM_LIST", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 刷新英雄背包道具列表

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onRefHeroItemList()
            SL:Print("刷新英雄背包道具列表...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_REF_HERO_ITEM_LIST, "刷新英雄背包道具列表", onRefHeroItemList)

        `
    },
    {
        "label": "LUA_EVENT_HERO_EQUIP_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_EQUIP_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄装备变化

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {MakeIndex = 唯一ID, Where = 装备位置, opera = 操作类型 ( 0:初始化 1:增加 2:删除 3:改变), ItemData = 装备数据}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroEquipChange(data)
            SL:Print("英雄装备变化: "..data.MakeIndex)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_EQUIP_CHANGE, "英雄装备变化", onHeroEquipChange)

        `
    },
    {
        "label": "LUA_EVENT_HERO_BAG_ITEM_CAHNGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_BAG_ITEM_CAHNGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄背包数据变化

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {opera = 操作类型 ( 0:初始化 1:增加 2:删除 3:改变), operID = 物品数据(table)}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroBagItemChange(data)
            SL:Print("英雄背包数据变化: "..data.opera)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_BAG_ITEM_CAHNGE, "英雄背包数据变化", onHeroBagItemChange)

        `
    },
    {
        "label": "LUA_EVENT_DISCONNECT",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_DISCONNECT", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 断线

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onDisconnect()
            SL:Print("断线...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_DISCONNECT, "断线", onDisconnect)

        `
    },
    {
        "label": "LUA_EVENT_RECONNECT",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_RECONNECT", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 重连

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onReconnect()
            SL:Print("重连...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_RECONNECT, "重连", onReconnect)

        `
    },
    {
        "label": "LUA_EVENT_TAKE_ON_EQUIP",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TAKE_ON_EQUIP", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 玩家穿戴装备

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {isSuccess = 是否成功, pos = 成功穿戴装备位}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTakeOnEquip(data)
            SL:Print("玩家穿戴装备: "..data.pos.." 成功: "..tostring(data.isSuccess))
        end
        SL:RegisterLUAEvent(LUA_EVENT_TAKE_ON_EQUIP, "玩家穿戴装备", onTakeOnEquip)

        `
    },
    {
        "label": "LUA_EVENT_TAKE_OFF_EQUIP",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TAKE_OFF_EQUIP", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 玩家脱掉装备

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {isSuccess = 是否成功, pos = 成功脱下装备位}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string  

 | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTakeOffEquip(data)
            SL:Print("玩家脱掉装备: "..data.pos.." 成功: "..tostring(data.isSuccess))
        end
        SL:RegisterLUAEvent(LUA_EVENT_TAKE_OFF_EQUIP, "玩家脱掉装备", onTakeOffEquip)

        `
    },
    {
        "label": "LUA_EVENT_HERO_TAKE_ON_EQUIP",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_TAKE_ON_EQUIP", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄穿戴装备

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {isSuccess = 是否成功}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroTakeOnEquip(data)
            SL:Print("英雄穿戴装备 成功: "..tostring(data.isSuccess))
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_TAKE_ON_EQUIP, "英雄穿戴装备", onHeroTakeOnEquip)

        `
    },
    {
        "label": "LUA_EVENT_HERO_TAKE_OFF_EQUIP",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_TAKE_OFF_EQUIP", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄脱掉装备

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {isSuccess = 是否成功}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroTakeOffEquip(data)
            SL:Print("英雄脱掉装备 成功: "..tostring(data.isSuccess))
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_TAKE_OFF_EQUIP, "英雄脱掉装备", onHeroTakeOffEquip)

        `
    },
    {
        "label": "LUA_EVENT_SETTING_CAHNGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SETTING_CAHNGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 设置项改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSettingChange()
            SL:Print("设置项改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_SETTING_CAHNGE, "设置项改变", onSettingChange)

        `
    },
    {
        "label": "LUA_EVENT_BESTRINGBOX_STATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_BESTRINGBOX_STATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 首饰盒状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onBstringBoxState()
            SL:Print("首饰盒状态改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_BESTRINGBOX_STATE, "首饰盒状态改变", onBstringBoxState)

        `
    },
    {
        "label": "LUA_EVENT_ACTOR_IN_OF_VIEW",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ACTOR_IN_OF_VIEW", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 玩家/怪物/NPC进视野

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = ActorID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onActorInView(data)
            SL:Print("进视野: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_ACTOR_IN_OF_VIEW, "玩家/怪物/NPC进视野", onActorInView)

        `
    },
    {
        "label": "LUA_EVENT_ACTOR_OUT_OF_VIEW",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ACTOR_OUT_OF_VIEW", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 玩家/怪物/NPC出视野

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = ActorID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onActorOutView(data)
            SL:Print("出视野: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_ACTOR_OUT_OF_VIEW, "玩家/怪物/NPC出视野", onActorOutView)

        `
    },
    {
        "label": "LUA_EVENT_DROPITEM_IN_OF_VIEW",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_DROPITEM_IN_OF_VIEW", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 掉落物进视野

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {actorID = ActorID, item = 掉落物相关数据(table)}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onDropItemInView(data)
            SL:Print("掉落物进视野: "..data.actorID)
        end
        SL:RegisterLUAEvent(LUA_EVENT_DROPITEM_IN_OF_VIEW, "掉落物进视野", onDropItemInView)

        `
    },
    {
        "label": "LUA_EVENT_DROPITEM_OUT_OF_VIEW",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_DROPITEM_OUT_OF_VIEW", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 掉落物出视野

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {actorID = ActorID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是  

 | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onDropItemOutView(data)
            SL:Print("掉落物出视野: "..data.actorID)
        end
        SL:RegisterLUAEvent(LUA_EVENT_DROPITEM_OUT_OF_VIEW, "掉落物出视野", onDropItemOutView)

        `
    },
    {
        "label": "LUA_EVENT_TARGET_HP_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TARGET_HP_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 目标血量变化

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {actorID = 目标ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTargetHPChange(data)
            SL:Print("目标血量变化: "..data.actorID)
        end
        SL:RegisterLUAEvent(LUA_EVENT_TARGET_HP_CHANGE, "目标血量变化", onTargetHPChange)

        `
    },
    {
        "label": "LUA_EVENT_TARGET_CAHNGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TARGET_CAHNGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 目标改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        int — 目标ID

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTargetChange(data)
            SL:Print("目标改变: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_TARGET_CAHNGE, "目标改变", onTargetChange)

        `
    },
    {
        "label": "LUA_EVENT_ACTOR_OWNER_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ACTOR_OWNER_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 目标归属改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {actorID = 目标ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onActorOwnerChange(data)
            SL:Print("目标归属改变: "..data.actorID)
        end
        SL:RegisterLUAEvent(LUA_EVENT_ACTOR_OWNER_CHANGE, "目标归属改变", onActorOwnerChange)

        `
    },
    {
        "label": "LUA_EVENT_HERO_ANGER_CAHNGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_ANGER_CAHNGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄怒气改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {forceRefresh = boolean(true时禁止刷新)}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroAngerChange(data)
            SL:Print("英雄怒气改变: "..tostring(data.forceRefresh))
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_ANGER_CAHNGE, "英雄怒气改变", onHeroAngerChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_BEHAVIOR_STATE_CAHNGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_BEHAVIOR_STATE_CAHNGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 玩家行为状态改变（站立、走、跑等）

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        int — 主玩家动作

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onBehaviorStateChange(data)
            SL:Print("玩家行为状态改变: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_BEHAVIOR_STATE_CAHNGE, "玩家行为状态改变", onBehaviorStateChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_ACTION_BEGIN",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_ACTION_BEGIN", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主玩家行为动作开始（站立、走、跑等）

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 玩家ID, act = 动作ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerActionBegin(data)
            SL:Print("主玩家行为动作开始: "..data.id.." 动作: "..data.act)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_ACTION_BEGIN, "主玩家行为动作开始", onPlayerActionBegin)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_ACTION_COMPLETE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_ACTION_COMPLETE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主玩家行为动作结束（站立、走、跑等）

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 玩家ID, act = 动作ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerActionComplete(data)
            SL:Print("主玩家行为动作结束: "..data.id.." 动作: "..data.act)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_ACTION_COMPLETE, "主玩家行为动作结束", onPlayerActionComplete)

        `
    },
    {
        "label": "LUA_EVENT_NET_PLAYER_ACTION_BEGIN",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NET_PLAYER_ACTION_BEGIN", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 网络玩家行为动作开始（站立、走、跑等）

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 玩家ID, act = 动作ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNetPlayerActionBegin(data)
            SL:Print("网络玩家行为动作开始: "..data.id.." 动作: "..data.act)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NET_PLAYER_ACTION_BEGIN, "网络玩家行为动作开始", onNetPlayerActionBegin)

        `
    },
    {
        "label": "LUA_EVENT_NET_PLAYER_ACTION_COMPLETE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NET_PLAYER_ACTION_COMPLETE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 网络玩家行为动作结束（站立、走、跑等）

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 玩家ID, act = 动作ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNetPlayerActionComplete(data)
            SL:Print("网络玩家行为动作结束: "..data.id.." 动作: "..data.act)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NET_PLAYER_ACTION_COMPLETE, "网络玩家行为动作结束", onNetPlayerActionComplete)

        `
    },
    {
        "label": "LUA_EVENT_MONSTER_ACTION_BEGIN",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MONSTER_ACTION_BEGIN", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 怪物行为动作开始（站立、走、跑等）

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 怪物ID, act = 动作ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMonsterActionBegin(data)
            SL:Print("怪物行为动作开始: "..data.id.." 动作: "..data.act)
        end
        SL:RegisterLUAEvent(LUA_EVENT_MONSTER_ACTION_BEGIN, "怪物行为动作开始", onMonsterActionBegin)

        `
    },
    {
        "label": "LUA_EVENT_MONSTER_ACTION_COMPLETE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MONSTER_ACTION_COMPLETE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 怪物行为动作结束（站立、走、跑等）

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 怪物ID, act = 动作ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMonsterActionComplete(data)
            SL:Print("怪物行为动作结束: "..data.id.." 动作: "..data.act)
        end
        SL:RegisterLUAEvent(LUA_EVENT_MONSTER_ACTION_COMPLETE, "怪物行为动作结束", onMonsterActionComplete)

        `
    },
    {
        "label": "LUA_EVENT_ACTOR_GMDATA_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ACTOR_GMDATA_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 玩家/怪物 GM自定义数据改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = ActorID, data = GM自定义数据}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onActorGMDataUpdate(data)
            SL:Print("GM自定义数据改变: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_ACTOR_GMDATA_UPDATE, "玩家/怪物 GM自定义数据改变", onActorGMDataUpdate)

        `
    },
    {
        "label": "LUA_EVENT_SKILL_INIT",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SKILL_INIT", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 初始化技能

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSkillInit(data)
            SL:Print("初始化技能: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_SKILL_INIT, "初始化技能", onSkillInit)

        `
    },
    {
        "label": "LUA_EVENT_SKILL_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SKILL_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 新增技能

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSkillAdd(data)
            SL:Print("新增技能: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_SKILL_ADD, "新增技能", onSkillAdd)

        `
    },
    {
        "label": "LUA_EVENT_SKILL_DEL",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SKILL_DEL", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 删除技能

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSkillDel(data)
            SL:Print("删除技能: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_SKILL_DEL, "删除技能", onSkillDel)

        `
    },
    {
        "label": "LUA_EVENT_SKILL_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SKILL_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 技能更新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSkillUpdate(data)
            SL:Print("技能更新: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_SKILL_UPDATE, "技能更新", onSkillUpdate)

        `
    },
    {
        "label": "LUA_EVENT_SKILL_ONOFF",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SKILL_ONOFF", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 开关型技能开关触发

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {skillID = 技能ID, isOn = boolen 是否开启}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSkillOnOff(data)
            SL:Print("开关型技能开关触发: "..data.skillID.." 开启: "..tostring(data.isOn))
        end
        SL:RegisterLUAEvent(LUA_EVENT_SKILL_ONOFF, "开关型技能开关触发", onSkillOnOff)

        `
    },
    {
        "label": "LUA_EVENT_SUMMON_MODE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SUMMON_MODE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 召唤物-状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {mode = int( 2:战斗 4:休息)}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSummonModeChange(data)
            SL:Print("召唤物-状态改变: "..data.mode)
        end
        SL:RegisterLUAEvent(LUA_EVENT_SUMMON_MODE_CHANGE, "召唤物-状态改变", onSummonModeChange)

        `
    },
    {
        "label": "LUA_EVENT_SUMMON_ALIVE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SUMMON_ALIVE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 召唤物-存活状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {status = boolean(是否存活)}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSummonAliveChange(data)
            SL:Print("召唤物-存活状态改变: "..tostring(data.status))
        end
        SL:RegisterLUAEvent(LUA_EVENT_SUMMON_ALIVE_CHANGE, "召唤物-存活状态改变", onSummonAliveChange)

        `
    },
    {
        "label": "LUA_EVENT_BUBBLETIPS_STATUS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_BUBBLETIPS_STATUS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 气泡状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 气泡id, status = 气泡状态 (boolean true: 加, false: 删), callback = function 气泡点击回调函数}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onBubbleTipsStatusChange(data)
            SL:Print("气泡状态改变: "..data.id.." 状态: "..tostring(data.status))
        end
        SL:RegisterLUAEvent(LUA_EVENT_BUBBLETIPS_STATUS_CHANGE, "气泡状态改变", onBubbleTipsStatusChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAY_MAGICBALL_EFFECT",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAY_MAGICBALL_EFFECT", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 脚本魔血球动画

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 各项参数

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayMagicBallEffect(data)
            SL:Print("脚本魔血球动画: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAY_MAGICBALL_EFFECT, "脚本魔血球动画", onPlayMagicBallEffect)

        `
    },
    {
        "label": "LUA_EVENT_AUTOFIGHT_TIPS_SHOW",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_AUTOFIGHT_TIPS_SHOW", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 自动战斗提示显示与否

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        boolean

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAutoFightTipsShow(data)
            SL:Print("自动战斗提示显示与否: "..tostring(data))
        end
        SL:RegisterLUAEvent(LUA_EVENT_AUTOFIGHT_TIPS_SHOW, "自动战斗提示显示与否", onAutoFightTipsShow)

        `
    },
    {
        "label": "LUA_EVENT_AUTOMOVE_TIPS_SHOW",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_AUTOMOVE_TIPS_SHOW", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 自动寻路提示显示与否

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        boolean

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAutoMoveTipsShow(data)
            SL:Print("自动寻路提示显示与否: "..tostring(data))
        end
        SL:RegisterLUAEvent(LUA_EVENT_AUTOMOVE_TIPS_SHOW, "自动寻路提示显示与否", onAutoMoveTipsShow)

        `
    },
    {
        "label": "LUA_EVENT_AUTOPICK_TIPS_SHOW",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_AUTOPICK_TIPS_SHOW", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 自动捡物提示显示与否

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        boolean

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAutoPickTipsShow(data)
            SL:Print("自动捡物提示显示与否: "..tostring(data))
        end


        SL:RegisterLUAEvent(LUA_EVENT_AUTOPICK_TIPS_SHOW, "自动捡物提示显示与否", onAutoPickTipsShow)

        `
    },
    {
        "label": "LUA_EVENT_HERO_LOGIN_OROUT",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_LOGIN_OROUT", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄登录/登出

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        boolean true:登录, false:登出

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroLoginOrOut(data)
            SL:Print("英雄登录/登出: "..tostring(data))
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_LOGIN_OROUT, "英雄登录/登出", onHeroLoginOrOut)

        `
    },
    {
        "label": "LUA_EVENT_REIN_ATTR_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_REIN_ATTR_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 转生点数据变化

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onReinAttrChange()
            SL:Print("转生点数据变化...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_REIN_ATTR_CHANGE, "转生点数据变化", onReinAttrChange)

        `
    },
    {
        "label": "LUA_EVENT_ASSIST_MISSION_TOP",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ASSIST_MISSION_TOP", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主界面-辅助-任务置顶

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        int — 置顶id

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAssistMissionTop(data)
            SL:Print("主界面-辅助-任务置顶: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_ASSIST_MISSION_TOP, "主界面-辅助-任务置顶", onAssistMissionTop)

        `
    },
    {
        "label": "LUA_EVENT_ASSIST_MISSION_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ASSIST_MISSION_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主界面-辅助-任务增加

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 任务数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAssistMissionAdd(data)
            SL:Print("主界面-辅助-任务增加: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_ASSIST_MISSION_ADD, "主界面-辅助-任务增加", onAssistMissionAdd)

        `
    },
    {
        "label": "LUA_EVENT_ASSIST_MISSION_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ASSIST_MISSION_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主界面-辅助-任务改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 任务数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAssistMissionChange(data)
            SL:Print("主界面-辅助-任务改变: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_ASSIST_MISSION_CHANGE, "主界面-辅助-任务改变", onAssistMissionChange)

        `
    },
    {
        "label": "LUA_EVENT_ASSIST_MISSION_REMOVE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ASSIST_MISSION_REMOVE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主界面-辅助-任务移除

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 任务数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAssistMissionRemove(data)
            SL:Print("主界面-辅助-任务移除: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_ASSIST_MISSION_REMOVE, "主界面-辅助-任务移除", onAssistMissionRemove)

        `
    },
    {
        "label": "LUA_EVENT_ASSIST_MISSION_SHOW",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ASSIST_MISSION_SHOW", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主界面-辅助-任务显示和隐藏

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        boolean 是否显示任务栏

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAssistMissionShow(data)
            SL:Print("主界面-辅助-任务显示和隐藏: "..tostring(data))
        end
        SL:RegisterLUAEvent(LUA_EVENT_ASSIST_MISSION_SHOW, "主界面-辅助-任务显示和隐藏", onAssistMissionShow)

        `
    },
    {
        "label": "LUA_EVENT_TEAM_MEMBER_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TEAM_MEMBER_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主界面-辅助-队伍刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTeamMemberUpdate()
            SL:Print("主界面-辅助-队伍刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_TEAM_MEMBER_UPDATE, "主界面-辅助-队伍刷新", onTeamMemberUpdate)

        `
    },
    {
        "label": "LUA_EVENT_TEAM_NEAR_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TEAM_NEAR_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 附近队伍刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTeamNearUpdate()
            SL:Print("附近队伍刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_TEAM_NEAR_UPDATE, "附近队伍刷新", onTeamNearUpdate)

        `
    },
    {
        "label": "LUA_EVENT_TEAM_APPLY_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TEAM_APPLY_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 申请入队列表刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTeamApplyUpdate()
            SL:Print("申请入队列表刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_TEAM_APPLY_UPDATE, "申请入队列表刷新", onTeamApplyUpdate)

        `
    },
    {
        "label": "LUA_EVENT_RANK_PLAYER_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_RANK_PLAYER_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 排行榜个人数据刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 选中排行榜个人数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onRankPlayerUpdate(data)
            SL:Print("排行榜个人数据刷新: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_RANK_PLAYER_UPDATE, "排行榜个人数据刷新", onRankPlayerUpdate)

        `
    },
    {
        "label": "LUA_EVENT_RANK_DATA_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_RANK_DATA_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 排行榜分类数据刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        int — 分类ID

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onRankDataUpdate(data)
            SL:Print("排行榜分类数据刷新: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_RANK_DATA_UPDATE, "排行榜分类数据刷新", onRankDataUpdate)

        `
    },
    {
        "label": "LUA_EVENT_BIND_MAINPLAYER",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_BIND_MAINPLAYER", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 绑定主玩家

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onBindMainPlayer()
            SL:Print("绑定主玩家...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_BIND_MAINPLAYER, "绑定主玩家", onBindMainPlayer)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_MAPPOS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_MAPPOS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主玩家位置改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerMapPosChange()
            SL:Print("主玩家位置改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_MAPPOS_CHANGE, "主玩家位置改变", onPlayerMapPosChange)

        `
    },
    {
        "label": "LUA_EVENT_FRIEND_LIST_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_FRIEND_LIST_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 好友列表刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onFriendListUpdate()
            SL:Print("好友列表刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_FRIEND_LIST_UPDATE, "好友列表刷新", onFriendListUpdate)

        `
    },
    {
        "label": "LUA_EVENT_FRIEND_APPLY",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_FRIEND_APPLY", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 收到好友申请

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onFriendApply()
            SL:Print("收到好友申请...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_FRIEND_APPLY, "收到好友申请", onFriendApply)

        `
    },
    {
        "label": "LUA_EVENT_MAIL_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MAIL_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 邮件列表刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMailUpdate()
            SL:Print("邮件列表刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_MAIL_UPDATE, "邮件列表刷新", onMailUpdate)

        `
    },
    {
        "label": "LUA_EVENT_ITEMTIPS_MOUSE_SCROLL",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ITEMTIPS_MOUSE_SCROLL", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# ITEMTIPS鼠标滚轮滚动

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {x = x, y = y}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onItemTipsMouseScroll(data)
            SL:Print("ITEMTIPS鼠标滚轮滚动: ("..data.x..","..data.y..")")
        end
        SL:RegisterLUAEvent(LUA_EVENT_ITEMTIPS_MOUSE_SCROLL, "ITEMTIPS鼠标滚轮滚动", onItemTipsMouseScroll)

        `
    },
    {
        "label": "LUA_EVENT_PCMINIMAP_STATUS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PCMINIMAP_STATUS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# PC 主界面小地图展示状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        int — 展示状态
        0: 不显示
        1: 小地图尺寸1
        2: 小地图尺寸2
        3: 打开小地图界面

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPCMinimapStatusChange(data)
            SL:Print("小地图展示状态改变: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PCMINIMAP_STATUS_CHANGE, "PC 主界面小地图展示状态改变", onPCMinimapStatusChange)

        `
    },
    {
        "label": "LUA_EVENT_DARK_STATE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_DARK_STATE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 黑夜状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onDarkStateChange()
            SL:Print("黑夜状态改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_DARK_STATE_CHANGE, "黑夜状态改变", onDarkStateChange)

        `
    },
    {
        "label": "LUA_EVENT_MONSTER_IGNORELIST_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MONSTER_IGNORELIST_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 设置-怪物忽略列表增加

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        string — 怪物名字

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMonsterIgnoreListAdd(data)
            SL:Print("怪物忽略列表增加: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_MONSTER_IGNORELIST_ADD, "设置-怪物忽略列表增加", onMonsterIgnoreListAdd)

        `
    },
    {
        "label": "LUA_EVENT_BOSSTIPSLIST_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_BOSSTIPSLIST_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 设置-boss提示-增加

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — { 怪物名字, 1, “BOSS” }

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onBossTipsListAdd(data)
            SL:Print("boss提示增加: "..data[1])
        end
        SL:RegisterLUAEvent(LUA_EVENT_BOSSTIPSLIST_ADD, "设置-boss提示-增加", onBossTipsListAdd)

        `
    },
    {
        "label": "LUA_EVENT_MONSTER_NAME_RM",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MONSTER_NAME_RM", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 设置-怪物类型删除

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        int — 怪物类型

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMonsterNameRM(data)
            SL:Print("怪物类型删除: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_MONSTER_NAME_RM, "设置-怪物类型删除", onMonsterNameRM)

        `
    },
    {
        "label": "LUA_EVENT_SKILL_RANKDATA_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SKILL_RANKDATA_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 设置-技能数据添加

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSkillRankDataAdd(data)
            SL:Print("技能数据添加: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_SKILL_RANKDATA_ADD, "设置-技能数据添加", onSkillRankDataAdd)

        `
    },
    {
        "label": "LUA_EVENT_SKILLBUTTON_DISTANCE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SKILLBUTTON_DISTANCE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 技能边距调整

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSkillButtonDistanceChange()
            SL:Print("技能边距调整...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_SKILLBUTTON_DISTANCE_CHANGE, "技能边距调整", onSkillButtonDistanceChange)



        `
    },
    {
        "label": "LUA_EVENT_PLAYER_FRAME_PAGE_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_FRAME_PAGE_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 角色框增加子页

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {child = 子页控件, index = 对应pageId, init = 是否初始化}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerFramePageAdd(data)
            SL:Print("角色框增加子页: "..data.index)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_FRAME_PAGE_ADD, "角色框增加子页", onPlayerFramePageAdd)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_FRAME_NAME_RRFRESH",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_FRAME_NAME_RRFRESH", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 角色外框角色名刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerFrameNameRefresh()
            SL:Print("角色外框角色名刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_FRAME_NAME_RRFRESH, "角色外框角色名刷新", onPlayerFrameNameRefresh)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_LOOK_FRAME_PAGE_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_LOOK_FRAME_PAGE_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 查看他人角色框增加子页

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {child = 子页控件, index = 对应pageId, init = 是否初始化}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerLookFramePageAdd(data)
            SL:Print("查看他人角色框增加子页: "..data.index)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_LOOK_FRAME_PAGE_ADD, "查看他人角色框增加子页", onPlayerLookFramePageAdd)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_GUILD_INFO_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_GUILD_INFO_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 玩家行会信息改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerGuildInfoChange()
            SL:Print("玩家行会信息改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_GUILD_INFO_CHANGE, "玩家行会信息改变", onPlayerGuildInfoChange)

        `
    },
    {
        "label": "LUA_EVENT_HERO_FRAME_PAGE_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_FRAME_PAGE_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄框增加子页

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {child = 子页控件, index = 对应pageId, init = 是否初始化}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroFramePageAdd(data)
            SL:Print("英雄框增加子页: "..data.index)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_FRAME_PAGE_ADD, "英雄框增加子页", onHeroFramePageAdd)

        `
    },
    {
        "label": "LUA_EVENT_HERO_FRAME_NAME_RRFRESH",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_FRAME_NAME_RRFRESH", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄框名字刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroFrameNameRefresh()
            SL:Print("英雄框名字刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_FRAME_NAME_RRFRESH, "英雄框名字刷新", onHeroFrameNameRefresh)

        `
    },
    {
        "label": "LUA_EVENT_HERO_LOOK_FRAME_PAGE_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_LOOK_FRAME_PAGE_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 查看他人英雄框增加子页

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {child = 子页控件, index = 对应pageId, init = 是否初始化}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroLookFramePageAdd(data)
            SL:Print("查看他人英雄框增加子页: "..data.index)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_LOOK_FRAME_PAGE_ADD, "查看他人英雄框增加子页", onHeroLookFramePageAdd)

        `
    },
    {
        "label": "LUA_EVENT_TRAD_PLAYER_LOOK_FRAME_PAGE_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TRAD_PLAYER_LOOK_FRAME_PAGE_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 交易行查看他人玩家框增加子页

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {child = 子页控件, index = 对应pageId, init = 是否初始化}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTradPlayerLookFramePageAdd(data)
            SL:Print("交易行查看他人玩家框增加子页: "..data.index)
        end
        SL:RegisterLUAEvent(LUA_EVENT_TRAD_PLAYER_LOOK_FRAME_PAGE_ADD, "交易行查看他人玩家框增加子页", onTradPlayerLookFramePageAdd)

        `
    },
    {
        "label": "LUA_EVENT_TRAD_HERO_LOOK_FRAME_PAGE_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_TRAD_HERO_LOOK_FRAME_PAGE_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 交易行查看他人英雄框增加子页

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {child = 子页控件, index = 对应pageId, init = 是否初始化}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onTradHeroLookFramePageAdd(data)
            SL:Print("交易行查看他人英雄框增加子页: "..data.index)
        end
        SL:RegisterLUAEvent(LUA_EVENT_TRAD_HERO_LOOK_FRAME_PAGE_ADD, "交易行查看他人英雄框增加子页", onTradHeroLookFramePageAdd)

        `
    },
    {
        "label": "LUA_EVENT_SERVER_VALUE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SERVER_VALUE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 服务器下发的变量改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {key = key, value = value}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onServerValueChange(data)
            SL:Print("服务器下发的变量改变: "..data.key.." 值: "..data.value)
        end
        SL:RegisterLUAEvent(LUA_EVENT_SERVER_VALUE_CHANGE, "服务器下发的变量改变", onServerValueChange)

        `
    },
    {
        "label": "LUA_EVENT_MAIN_PLAYER_REVIVE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MAIN_PLAYER_REVIVE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主玩家复活

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMainPlayerRevive()
            SL:Print("主玩家复活...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_MAIN_PLAYER_REVIVE, "主玩家复活", onMainPlayerRevive)

        `
    },
    {
        "label": "LUA_EVENT_NET_PLAYER_REVIVE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NET_PLAYER_REVIVE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 网络玩家复活

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 玩家ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNetPlayerRevive(data)
            SL:Print("网络玩家复活: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NET_PLAYER_REVIVE, "网络玩家复活", onNetPlayerRevive)

        `
    },
    {
        "label": "LUA_EVENT_MONSTER_REVIVE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MONSTER_REVIVE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 怪物复活

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 怪物ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMonsterRevive(data)
            SL:Print("怪物复活: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_MONSTER_REVIVE, "怪物复活", onMonsterRevive)

        `
    },
    {
        "label": "LUA_EVENT_MAIN_PLAYER_DIE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MAIN_PLAYER_DIE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主玩家死亡

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMainPlayerDie()
            SL:Print("主玩家死亡...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_MAIN_PLAYER_DIE, "主玩家死亡", onMainPlayerDie)

        `
    },
    {
        "label": "LUA_EVENT_NET_PLAYER_DIE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NET_PLAYER_DIE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 网络玩家死亡

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 玩家ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNetPlayerDie(data)
            SL:Print("网络玩家死亡: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NET_PLAYER_DIE, "网络玩家死亡", onNetPlayerDie)

        `
    },
    {
        "label": "LUA_EVENT_MONSTER_DIE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MONSTER_DIE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 怪物死亡

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 怪物ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMonsterDie(data)
            SL:Print("怪物死亡: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_MONSTER_DIE, "怪物死亡", onMonsterDie)

        `
    },
    {
        "label": "LUA_EVENT_NPCLAYER_OPENSTATUS",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NPCLAYER_OPENSTATUS", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# NPC界面打开/关闭状态刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        boolean — true: 打开 false: 关闭

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNPCOpenStatus(data)
            SL:Print("NPC界面状态: "..tostring(data))
        end
        SL:RegisterLUAEvent(LUA_EVENT_NPCLAYER_OPENSTATUS, "NPC界面打开/关闭状态刷新", onNPCOpenStatus)

        `
    },
    {
        "label": "LUA_EVENT_NPC_TALK",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NPC_TALK", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# NPC对话

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = NPCID, index = NPC配置ID, name = NPC名称}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNPCTalk(data)
            SL:Print("NPC对话: "..data.id.." "..data.name)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NPC_TALK, "NPC对话", onNPCTalk)

        `
    },
    {
        "label": "LUA_EVENT_MINIMAP_FIND_PATH",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MINIMAP_FIND_PATH", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 寻路路径

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMinimapFindPath()
            SL:Print("寻路路径...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_MINIMAP_FIND_PATH, "寻路路径", onMinimapFindPath)

        `
    },
    {
        "label": "LUA_EVENT_MINIMAP_MONSTER",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MINIMAP_MONSTER", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 小地图怪物数据刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMinimapMonster()
            SL:Print("小地图怪物数据刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_MINIMAP_MONSTER, "小地图怪物数据刷新", onMinimapMonster)

        `
    },
    {
        "label": "LUA_EVENT_MINIMAP_PLAYER",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MINIMAP_PLAYER", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 小地图人物坐标刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMinimapPlayer()
            SL:Print("小地图人物坐标刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_MINIMAP_PLAYER, "小地图人物坐标刷新", onMinimapPlayer)

        `
    },
    {
        "label": "LUA_EVENT_MINIMAP_TEAM",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MINIMAP_TEAM", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 小地图组队成员数据刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMinimapTeam()
            SL:Print("小地图组队成员数据刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_MINIMAP_TEAM, "小地图组队成员数据刷新", onMinimapTeam)

        `
    },
    {
        "label": "LUA_EVENT_MINIMAP_RELEASE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MINIMAP_RELEASE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 小地图释放内存

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMinimapRelease()
            SL:Print("小地图释放内存...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_MINIMAP_RELEASE, "小地图释放内存", onMinimapRelease)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_INTERNAL_FORCE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_INTERNAL_FORCE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物内力值改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onInternalForceChange()
            SL:Print("人物内力值改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_INTERNAL_FORCE_CHANGE, "人物内力值改变", onInternalForceChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_INTERNAL_EXP_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_INTERNAL_EXP_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物内功经验值改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无



        示例代码
        
        local function onInternalExpChange()
            SL:Print("人物内功经验值改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_INTERNAL_EXP_CHANGE, "人物内功经验值改变", onInternalExpChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_INTERNAL_LEVEL_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_INTERNAL_LEVEL_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物内功等级改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {lastLevel = 上次等级, curLevel = 当前等级}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onInternalLevelChange(data)
            SL:Print("人物内功等级改变: "..data.curLevel)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_INTERNAL_LEVEL_CHANGE, "人物内功等级改变", onInternalLevelChange)

        `
    },
    {
        "label": "LUA_EVENT_INTERNAL_SKILL_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_INTERNAL_SKILL_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物内功技能增加

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onInternalSkillAdd(data)
            SL:Print("人物内功技能增加: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_INTERNAL_SKILL_ADD, "人物内功技能增加", onInternalSkillAdd)

        `
    },
    {
        "label": "LUA_EVENT_INTERNAL_SKILL_DEL",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_INTERNAL_SKILL_DEL", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物内功技能删除

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onInternalSkillDel(data)
            SL:Print("人物内功技能删除: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_INTERNAL_SKILL_DEL, "人物内功技能删除", onInternalSkillDel)

        `
    },
    {
        "label": "LUA_EVENT_INTERNAL_SKILL_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_INTERNAL_SKILL_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物内功技能刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onInternalSkillUpdate(data)
            SL:Print("人物内功技能刷新: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_INTERNAL_SKILL_UPDATE, "人物内功技能刷新", onInternalSkillUpdate)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_LEARNED_INTERNAL",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_LEARNED_INTERNAL", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物学习内功

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerLearnedInternal()
            SL:Print("人物学习内功...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_LEARNED_INTERNAL, "人物学习内功", onPlayerLearnedInternal)

        `
    },
    {
        "label": "LUA_EVENT_MERIDIAN_DATA_REFRESH",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_MERIDIAN_DATA_REFRESH", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物内功经络数据刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onMeridianDataRefresh()
            SL:Print("人物内功经络数据刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_MERIDIAN_DATA_REFRESH, "人物内功经络数据刷新", onMeridianDataRefresh)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_INTERNAL_DZVALUE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_INTERNAL_DZVALUE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物内功斗转值改变/恢复

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onDZValueChange()
            SL:Print("人物内功斗转值改变/恢复...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_INTERNAL_DZVALUE_CHANGE, "人物内功斗转值改变/恢复", onDZValueChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_COMBO_SKILL_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_COMBO_SKILL_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物连击技能增加

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onComboSkillAdd()
            SL:Print("人物连击技能增加...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_COMBO_SKILL_ADD, "人物连击技能增加", onComboSkillAdd)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_COMBO_SKILL_DEL",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_COMBO_SKILL_DEL", \${

1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物连击技能删除

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onComboSkillDel()
            SL:Print("人物连击技能删除...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_COMBO_SKILL_DEL, "人物连击技能删除", onComboSkillDel)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_COMBO_SKILL_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_COMBO_SKILL_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物连击技能刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onComboSkillUpdate(data)
            SL:Print("人物连击技能刷新: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_COMBO_SKILL_UPDATE, "人物连击技能刷新", onComboSkillUpdate)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_SET_COMBO_REFRESH",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_SET_COMBO_REFRESH", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物设置的连击技能刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSetComboRefresh()
            SL:Print("人物设置的连击技能刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_SET_COMBO_REFRESH, "人物设置的连击技能刷新", onSetComboRefresh)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_COMBO_SKILLCD_STATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_COMBO_SKILLCD_STATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物连击技能CD状态

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        boolean — true: 可释放
        false: CD未到

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onComboSkillCDState(data)
            SL:Print("人物连击技能CD状态: "..tostring(data))
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_COMBO_SKILLCD_STATE, "人物连击技能CD状态", onComboSkillCDState)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_OPEN_COMBO_NUM",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_OPEN_COMBO_NUM", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物开启连击格子数

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        int — 格子数

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onOpenComboNum(data)
            SL:Print("人物开启连击格子数: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_OPEN_COMBO_NUM, "人物开启连击格子数", onOpenComboNum)

        `
    },
    {
        "label": "LUA_EVENT_HERO_INTERNAL_FORCE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_INTERNAL_FORCE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄内力值改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroInternalForceChange()
            SL:Print("英雄内力值改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_INTERNAL_FORCE_CHANGE, "英雄内力值改变", onHeroInternalForceChange)

        `
    },
    {
        "label": "LUA_EVENT_HERO_INTERNAL_EXP_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_INTERNAL_EXP_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄内功经验值改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroInternalExpChange()
            SL:Print("英雄内功经验值改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_INTERNAL_EXP_CHANGE, "英雄内功经验值改变", onHeroInternalExpChange)

        `
    },
    {
        "label": "LUA_EVENT_HERO_INTERNAL_LEVEL_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_INTERNAL_LEVEL_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄内功等级改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {lastLevel = 上次等级, curLevel = 当前等级}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroInternalLevelChange(data)
            SL:Print("英雄内功等级改变: "..data.curLevel)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_INTERNAL_LEVEL_CHANGE, "英雄内功等级改变", onHeroInternalLevelChange)

        `
    },
    {
        "label": "LUA_EVENT_HERO_INTERNAL_SKILL_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_INTERNAL_SKILL_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄内功技能增加

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |

      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroInternalSkillAdd(data)
            SL:Print("英雄内功技能增加: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_INTERNAL_SKILL_ADD, "英雄内功技能增加", onHeroInternalSkillAdd)

        `
    },
    {
        "label": "LUA_EVENT_HERO_INTERNAL_SKILL_DEL",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_INTERNAL_SKILL_DEL", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄内功技能删除

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroInternalSkillDel(data)
            SL:Print("英雄内功技能删除: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_INTERNAL_SKILL_DEL, "英雄内功技能删除", onHeroInternalSkillDel)

        `
    },
    {
        "label": "LUA_EVENT_HERO_INTERNAL_SKILL_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_INTERNAL_SKILL_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄内功技能刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroInternalSkillUpdate(data)
            SL:Print("英雄内功技能刷新: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_INTERNAL_SKILL_UPDATE, "英雄内功技能刷新", onHeroInternalSkillUpdate)

        `
    },
    {
        "label": "LUA_EVENT_HERO_LEARNED_INTERNAL",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_LEARNED_INTERNAL", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄学习内功

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroLearnedInternal()
            SL:Print("英雄学习内功...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_LEARNED_INTERNAL, "英雄学习内功", onHeroLearnedInternal)

        `
    },
    {
        "label": "LUA_EVENT_HERO_MERIDIAN_DATA_REFRESH",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_MERIDIAN_DATA_REFRESH", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄内功经络数据刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroMeridianDataRefresh()
            SL:Print("英雄内功经络数据刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_MERIDIAN_DATA_REFRESH, "英雄内功经络数据刷新", onHeroMeridianDataRefresh)

        `
    },
    {
        "label": "LUA_EVENT_HERO_INTERNAL_DZVALUE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_INTERNAL_DZVALUE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄内功斗转值改变/恢复

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroDZValueChange()
            SL:Print("英雄内功斗转值改变/恢复...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_INTERNAL_DZVALUE_CHANGE, "英雄内功斗转值改变/恢复", onHeroDZValueChange)

        `
    },
    {
        "label": "LUA_EVENT_HERO_COMBO_SKILL_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_COMBO_SKILL_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄连击技能增加

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroComboSkillAdd()
            SL:Print("英雄连击技能增加...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_COMBO_SKILL_ADD, "英雄连击技能增加", onHeroComboSkillAdd)

        `
    },
    {
        "label": "LUA_EVENT_HERO_COMBO_SKILL_DEL",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_COMBO_SKILL_DEL", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄连击技能删除

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroComboSkillDel()
            SL:Print("英雄连击技能删除...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_COMBO_SKILL_DEL, "英雄连击技能删除", onHeroComboSkillDel)

        `
    },
    {
        "label": "LUA_EVENT_HERO_COMBO_SKILL_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_COMBO_SKILL_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄连击技能刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 技能数据

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroComboSkillUpdate(data)
            SL:Print("英雄连击技能刷新: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_COMBO_SKILL_UPDATE, "英雄连击技能刷新", onHeroComboSkillUpdate)

        `
    },
    {
        "label": "LUA_EVENT_HERO_SET_COMBO_REFRESH",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_SET_COMBO_REFRESH", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄设置连击技能刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroSetComboRefresh()
            SL:Print("英雄设置连击技能刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_SET_COMBO_REFRESH, "英雄设置连击技能刷新", onHeroSetComboRefresh)

        `
    },
    {
        "label": "LUA_EVENT_HERO_OPEN_COMBO_NUM",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_OPEN_COMBO_NUM", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄开启连击格子数

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroOpenComboNum()
            SL:Print("英雄开启连击格子数...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_OPEN_COMBO_NUM, "英雄开启连击格子数", onHeroOpenComboNum)

        `
    },
    {
        "label": "LUA_EVENT_HERO_PROPERTY_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_PROPERTY_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄属性变化

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroPropertyChange()
            SL:Print("英雄属性变化...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_PROPERTY_CHANGE, "英雄属性变化", onHeroPropertyChange)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_SERVER",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NOTICE_SERVER", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 顶部跑马灯 全服公告

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 消息参数内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNoticeServer(data)
            SL:Print("全服公告: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_SERVER, "顶部跑马灯 全服公告", onNoticeServer)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_SERVER_EVENT",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NOTICE_SERVER_EVENT", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 屏幕跑马灯 系统公告

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 消息参数内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNoticeServerEvent(data)
            SL:Print("系统公告: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_SERVER_EVENT, "屏幕跑马灯 系统公告", onNoticeServerEvent)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_SYSYTEM",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NOTICE_SYSYTEM", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 屏幕跑马灯公告 可控制Y轴

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 消息参数内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNoticeSystem(data)
            SL:Print("跑马灯公告: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_SYSYTEM, "屏幕跑马灯公告 可控制Y轴", onNoticeSystem)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_SYSYTEM_SCALE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NOTICE_SYSYTEM_SCALE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 系统公告缩放

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 消息参数内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNoticeSystemScale(data)
            SL:Print("系统公告缩放: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_SYSYTEM_SCALE, "系统公告缩放", onNoticeSystemScale)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_SYSYTEM_XY",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NOTICE_SYSYTEM_XY", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 跑马灯公告 可控制XY轴

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 消息参数内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNoticeSystemXY(data)
            SL:Print("跑马灯公告: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_SYSYTEM_XY, "跑马灯公告 可控制XY轴", onNoticeSystemXY)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_SYSYTEM_TIPS",
        "insertText": dedent`
        SL:RegisterLUAEvent

("LUA_EVENT_NOTICE_SYSYTEM_TIPS", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 系统 提示弹窗

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 消息参数内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNoticeSystemTips(data)
            SL:Print("系统 提示弹窗: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_SYSYTEM_TIPS, "系统 提示弹窗", onNoticeSystemTips)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_TIMER",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NOTICE_TIMER", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 聊天上方倒计时公告

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 消息参数内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNoticeTimer(data)
            SL:Print("聊天上方倒计时公告: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_TIMER, "聊天上方倒计时公告", onNoticeTimer)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_DELETE_TIMER",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NOTICE_DELETE_TIMER", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 移除倒计时公告

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNoticeDeleteTimer()
            SL:Print("移除倒计时公告...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_DELETE_TIMER, "移除倒计时公告", onNoticeDeleteTimer)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_ITEM_TIPS",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NOTICE_ITEM_TIPS", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 飘字 物品获取/消耗提示

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 消息参数内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onItemTips(data)
            SL:Print("物品获取/消耗提示: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_ITEM_TIPS, "飘字 物品获取/消耗提示", onItemTips)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_ATTRIBUTE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NOTICE_ATTRIBUTE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 飘字 属性变化

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 消息参数内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onAttributeTips(data)
            SL:Print("属性变化: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_ATTRIBUTE, "飘字 属性变化", onAttributeTips)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_EXP",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NOTICE_EXP", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 飘字 经验变化

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 消息参数内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onExpTips(data)
            SL:Print("经验变化: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_EXP, "飘字 经验变化", onExpTips)

        `
    },
    {
        "label": "LUA_EVENT_NOTICE_DROP",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NOTICE_DROP", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 公告 掉落物品提示

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — 消息参数内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onDropTips(data)
            SL:Print("掉落物品提示: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NOTICE_DROP, "公告 掉落物品提示", onDropTips)

        `
    },
    {
        "label": "LUA_EVENT_RICHTEXT_OPEN_URL",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_RICHTEXT_OPEN_URL", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 富文本超链(href)点击触发

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        string — href内容

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onRichTextOpenURL(data)
            SL:Print("富文本超链点击: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_RICHTEXT_OPEN_URL, "富文本超链点击触发", onRichTextOpenURL)

        `
    },
    {
        "label": "LUA_EVENT_KF_STATUS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_KF_STATUS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 跨服状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        boolean — true:进入跨服
        false: 退出跨服

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |

      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onKFStatusChange(data)
            SL:Print("跨服状态: "..tostring(data))
        end
        SL:RegisterLUAEvent(LUA_EVENT_KF_STATUS_CHANGE, "跨服状态改变", onKFStatusChange)

        `
    },
    {
        "label": "LUA_EVENT_QUICKUSE_DATA_OPER",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_QUICKUSE_DATA_OPER", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 快捷栏道具数据变动触发

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {opera = 操作类型 ( 0:初始化 1:增加 2:删除 3:改变), param = 具体数据(table)}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onQuickUseDataOper(data)
            SL:Print("快捷栏道具数据变动: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_QUICKUSE_DATA_OPER, "快捷栏道具数据变动触发", onQuickUseDataOper)

        `
    },
    {
        "label": "LUA_EVENT_ENTER_WORLD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ENTER_WORLD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 进入游戏世界 主界面已经初始化

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onEnterWorld()
            SL:Print("进入游戏世界...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_ENTER_WORLD, "进入游戏世界 主界面已经初始化", onEnterWorld)

        `
    },
    {
        "label": "LUA_EVENT_LEAVE_WORLD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_LEAVE_WORLD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 离开游戏世界 小退触发

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onLeaveWorld()
            SL:Print("离开游戏世界...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_LEAVE_WORLD, "离开游戏世界 小退触发", onLeaveWorld)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_IN_SAFEZONE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_IN_SAFEZONE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主玩家安全区状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerSafeZoneChange()
            SL:Print("主玩家安全区状态改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_IN_SAFEZONE_CHANGE, "主玩家安全区状态改变", onPlayerSafeZoneChange)

        `
    },
    {
        "label": "LUA_EVENT_NET_PLAYER_IN_SAFEZONE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NET_PLAYER_IN_SAFEZONE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 网络玩家安全区状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 玩家ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNetPlayerSafeZoneChange(data)
            SL:Print("网络玩家安全区状态改变: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NET_PLAYER_IN_SAFEZONE_CHANGE, "网络玩家安全区状态改变", onNetPlayerSafeZoneChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_STALL_STATUS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_STALL_STATUS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主玩家摆摊状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerStallStatusChange()
            SL:Print("主玩家摆摊状态改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_STALL_STATUS_CHANGE, "主玩家摆摊状态改变", onPlayerStallStatusChange)

        `
    },
    {
        "label": "LUA_EVENT_NET_PLAYER_STALL_STATUS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NET_PLAYER_STALL_STATUS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 网络玩家摆摊状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 玩家ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNetPlayerStallStatusChange(data)
            SL:Print("网络玩家摆摊状态改变: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NET_PLAYER_STALL_STATUS_CHANGE, "网络玩家摆摊状态改变", onNetPlayerStallStatusChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_HUSHEN_STATUS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_HUSHEN_STATUS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主玩家护身状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerHushenStatusChange()
            SL:Print("主玩家护身状态改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_HUSHEN_STATUS_CHANGE, "主玩家护身状态改变", onPlayerHushenStatusChange)

        `
    },
    {
        "label": "LUA_EVENT_NET_PLAYER_HUSHEN_STATUS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NET_PLAYER_HUSHEN_STATUS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 网络玩家护身状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 玩家ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNetPlayerHushenStatusChange(data)
            SL:Print("网络玩家护身状态改变: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NET_PLAYER_HUSHEN_STATUS_CHANGE, "网络玩家护身状态改变", onNetPlayerHushenStatusChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_TEAM_STATUS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_TEAM_STATUS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 主玩家组队状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerTeamStatusChange()
            SL:Print("主玩家组队状态改变...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_TEAM_STATUS_CHANGE, "主玩家组队状态改变", onPlayerTeamStatusChange)

        `
    },
    {
        "label": "LUA_EVENT_NET_PLAYER_TEAM_STATUS_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_NET_PLAYER_TEAM_STATUS_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 网络玩家组队状态改变

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 玩家ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onNetPlayerTeamStatusChange(data)
            SL:Print("网络玩家组队状态改变: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_NET_PLAYER_TEAM_STATUS_CHANGE, "网络玩家组队状态改变", onNetPlayerTeamStatusChange)

        `
    },
    {
        "label": "LUA_EVENT_PURCHASE_ITEM_LIST_PULL",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PURCHASE_ITEM_LIST_PULL", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 求购列表数据返回

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPurchaseItemListPull(data)
            SL:Print("求购列表数据返回: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PURCHASE_ITEM_LIST_PULL, "求购列表数据返回", onPurchaseItemListPull)

        `
    },
    {
        "label": "LUA_EVENT_PURCHASE_ITEM_LIST_COMPLETE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PURCHASE_ITEM_LIST_COMPLETE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 求购列表加载完成

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {type = 类型 0: 世界求购, 1: 我的求购, 2: 我的已收}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPurchaseItemListComplete(data)
            SL:Print("求购列表加载完成: "..data.type)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PURCHASE_ITEM_LIST_COMPLETE, "求购列表加载完成", onPurchaseItemListComplete)

        `
    },
    {
        "label": "LUA_EVENT_PURCHASE_SEARCH_ITEM_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PURCHASE_SEARCH_ITEM_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 求购搜索参数刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        string — 筛选的道具Index字符串

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPurchaseSearchItemUpdate(data)
            SL:Print("求购搜索参数刷新: "..data)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PURCHASE_SEARCH_ITEM_UPDATE, "求购搜索参数刷新", onPurchaseSearchItemUpdate)

        `
    },
    {
        "label": "LUA_EVENT_PURCHASE_MYITEM_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PURCHASE_MYITEM_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 我的求购数据刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {type = 类型(1: 新增, 2: 删除, 3: 更新), isReceive = bool 是否为已收列表, item = 求购数据}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPurchaseMyItemUpdate(data)
            SL:Print("我的求购数据刷新: "..data.type)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PURCHASE_MYITEM_UPDATE, "我的求购数据刷新", onPurchaseMyItemUpdate)

        `
    },
    {
        "label": "LUA_EVENT_PURCHASE_WORLDITEM_UPDATE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PURCHASE_WORLDITEM_UPDATE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 世界求购数据刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {type = 类型(1: 新增, 2: 删除, 3: 更新), item = 求购数据}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例

代码
        
        local function onPurchaseWorldItemUpdate(data)
            SL:Print("世界求购数据刷新: "..data.type)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PURCHASE_WORLDITEM_UPDATE, "世界求购数据刷新", onPurchaseWorldItemUpdate)

        `
    },
    {
        "label": "LUA_EVENT_RED_POINT_ADD",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_RED_POINT_ADD", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 红点增 (按红点表cfg_redpoint配置)

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 表配置id}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onRedPointAdd(data)
            SL:Print("红点增加: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_RED_POINT_ADD, "红点增 (按红点表cfg_redpoint配置)", onRedPointAdd)

        `
    },
    {
        "label": "LUA_EVENT_RED_POINT_DEL",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_RED_POINT_DEL", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 红点删 (按红点表cfg_redpoint配置)

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 表配置id}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onRedPointDel(data)
            SL:Print("红点删除: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_RED_POINT_DEL, "红点删 (按红点表cfg_redpoint配置)", onRedPointDel)

        `
    },
    {
        "label": "LUA_EVENT_FLYIN_BTN_ITEM_COMPLETE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_FLYIN_BTN_ITEM_COMPLETE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 道具飞入指定按钮完成

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {itemIndex = 道具Index}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onFlyinBtnItemComplete(data)
            SL:Print("道具飞入指定按钮完成: "..data.itemIndex)
        end
        SL:RegisterLUAEvent(LUA_EVENT_FLYIN_BTN_ITEM_COMPLETE, "道具飞入指定按钮完成", onFlyinBtnItemComplete)

        `
    },
    {
        "label": "LUA_EVENT_STORAGE_DATA_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_STORAGE_DATA_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 仓库数据变动

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {opera = 操作类型 (1:增加 2:删除 3:改变 4:整理/刷新页), item = 物品数据, page = 仓库页签 }

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onStorageDataChange(data)
            SL:Print("仓库数据变动: "..data.opera)
        end
        SL:RegisterLUAEvent(LUA_EVENT_STORAGE_DATA_CHANGE, "仓库数据变动", onStorageDataChange)

        `
    },
    {
        "label": "LUA_EVENT_HERO_LOCK_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_LOCK_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄锁定刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroLockChange()
            SL:Print("英雄锁定刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_LOCK_CHANGE, "英雄锁定刷新", onHeroLockChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_TITLE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_TITLE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物称号数据变动

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {opera = 类型 (1:初始化 2:增加 3:删除 4:激活 5:卸下 6: 清理全部称号)}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerTitleChange(data)
            SL:Print("人物称号数据变动: "..data.opera)
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_TITLE_CHANGE, "人物称号数据变动", onPlayerTitleChange)

        `
    },
    {
        "label": "LUA_EVENT_SKILL_ADD_TO_UI_WIN32",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SKILL_ADD_TO_UI_WIN32", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# PC端-添加技能到主界面触发

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {skill = 技能ID, pos = table 坐标位置}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSkillAddToUI(data)
            SL:Print("PC端-添加技能到主界面: "..data.skill)
        end
        SL:RegisterLUAEvent(LUA_EVENT_SKILL_ADD_TO_UI_WIN32, "PC端-添加技能到主界面触发", onSkillAddToUI)

        `
    },
    {
        "label": "LUA_EVENT_SKILL_REMOVE_TO_UI_WIN32",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SKILL_REMOVE_TO_UI_WIN32", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# PC端-移除主界面技能触发

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {skill = 技能ID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |

      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSkillRemoveToUI(data)
            SL:Print("PC端-移除主界面技能: "..data.skill)
        end
        SL:RegisterLUAEvent(LUA_EVENT_SKILL_REMOVE_TO_UI_WIN32, "PC端-移除主界面技能触发", onSkillRemoveToUI)

        `
    },
    {
        "label": "LUA_EVENT_SKILL_CD_TIME_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_SKILL_CD_TIME_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 技能CD时间变动

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {id = 技能ID, percent = 倒计时百分比(不为0时), time = 剩余CD时间}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onSkillCDTimeChange(data)
            SL:Print("技能CD时间变动: "..data.id)
        end
        SL:RegisterLUAEvent(LUA_EVENT_SKILL_CD_TIME_CHANGE, "技能CD时间变动", onSkillCDTimeChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_EMBATTLE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_EMBATTLE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物法阵刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onEmbattleChange()
            SL:Print("人物法阵刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_EMBATTLE_CHANGE, "人物法阵刷新", onEmbattleChange)

        `
    },
    {
        "label": "LUA_EVENT_PLAYER_SEX_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_PLAYER_SEX_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 人物性别刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onPlayerSexChange()
            SL:Print("人物性别刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_PLAYER_SEX_CHANGE, "人物性别刷新", onPlayerSexChange)

        `
    },
    {
        "label": "LUA_EVENT_HERO_EMBATTLE_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_EMBATTLE_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄法阵刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroEmbattleChange()
            SL:Print("英雄法阵刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_EMBATTLE_CHANGE, "英雄法阵刷新", onHeroEmbattleChange)

        `
    },
    {
        "label": "LUA_EVENT_HERO_SEX_CHANGE",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HERO_SEX_CHANGE", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 英雄性别刷新

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        无

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHeroSexChange()
            SL:Print("英雄性别刷新...")
        end
        SL:RegisterLUAEvent(LUA_EVENT_HERO_SEX_CHANGE, "英雄性别刷新", onHeroSexChange)

        `
    },
    {
        "label": "LUA_EVENT_HORSE_UP",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HORSE_UP", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 骑马上马事件

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {actorID = actorID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHorseUp(data)
            SL:Print("骑马上马: "..data.actorID)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HORSE_UP, "骑马上马事件", onHorseUp)

        `
    },
    {
        "label": "LUA_EVENT_HORSE_DOWN",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_HORSE_DOWN", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 骑马下马事件

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {actorID = actorID}

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onHorseDown(data)
            SL:Print("骑马下马: "..data.actorID)
        end
        SL:RegisterLUAEvent(LUA_EVENT_HORSE_DOWN, "骑马下马事件", onHorseDown)

        `
    },
    {
        "label": "LUA_EVENT_ITEM_CUSTOM_ATTR",
        "insertText": dedent`
        SL:RegisterLUAEvent("LUA_EVENT_ITEM_CUSTOM_ATTR", \${1:"TTT"}, function(data)
            \${2: -- body}
        end)
        `,
        "documentation": dedent`# 物品变量变动

        [在线文档](http://engine-doc.996m2.com/web/#/22/1354)
        回调函数参数
        
        table — {
        MakeIndex = 物品唯一id,
        data = 物品变量json }

        说明
        
        | 参数名   | 必选 | 类型     | 说明     |      |
        | :------- | :--- | -------- | -------- | ---- |
        | eventID  | 是   | string   | 事件ID   |      |
        | eventTag | 是   | string   | 事件描述 |      |
        | eventCB  | 是   | function | 回调函数 |      |

        返回值: 无

        示例代码
        
        local function onItemCustomAttr(data)
            SL:Print("物品变量变动: "..data.MakeIndex)
        end
        SL:RegisterLUAEvent(LUA_EVENT_ITEM_CUSTOM_ATTR, "物品变量变动", onItemCustomAttr)
        `
    }

]


export function getCompletionItems(): vscode.CompletionItem[] {


    const completionItems: vscode.CompletionItem[] = [];
    slItems.forEach((item: any) => {
        completionItems.push(createFunctionCompletionItem(item.label, item.insertText, item.documentation));
    });
    return completionItems;
}

function createFunctionCompletionItem(label: string, insertText: string, documentation?: string): vscode.CompletionItem {
    const item = new vscode.CompletionItem(label, vscode.CompletionItemKind.Function);
    item.insertText = new vscode.SnippetString(insertText);
    if (documentation) {
        item.documentation = new vscode.MarkdownString(documentation);
    }
    return item;
}
